// 测试价格格式化函数
function formatPrice(price) {
  if (price <= 0) {
    return '$0.00';
  }

  // 对于大于等于 0.01 的价格，使用常规格式
  if (price >= 0.01) {
    return `$${price.toFixed(4)}`;
  }

  // 对于小于 0.01 的价格，检查连续0的个数
  const priceStr = price.toFixed(12); // 先转换为足够精度的字符串
  const parts = priceStr.split('.');
  
  if (parts.length !== 2) {
    return `$${price.toFixed(6)}`;
  }

  const decimalPart = parts[1];
  let zeroCount = 0;
  
  // 计算小数点后连续0的个数
  for (let i = 0; i < decimalPart.length; i++) {
    if (decimalPart[i] === '0') {
      zeroCount++;
    } else {
      break;
    }
  }

  // 如果连续0的个数大于等于4，使用压缩格式
  if (zeroCount >= 4) {
    const significantPart = decimalPart.substring(zeroCount);
    const firstTwoDigits = significantPart.substring(0, 2);
    // 使用 Unicode 下标字符来显示小字号的数字
    const subscriptNumbers = ['₀', '₁', '₂', '₃', '₄', '₅', '₆', '₇', '₈', '₉'];
    const subscriptZeroCount = zeroCount.toString().split('').map(d => subscriptNumbers[parseInt(d)]).join('');
    return `$0.0${subscriptZeroCount}${firstTwoDigits}`;
  }

  // 否则使用常规格式，显示适当的小数位数
  if (price < 0.001) {
    return `$${price.toFixed(8).replace(/0+$/, '')}`;
  }
  
  return `$${price.toFixed(6)}`;
}

// 测试各种价格
const testPrices = [
  1e-7,    // 0.0000001
  1e-6,    // 0.000001  
  1e-5,    // 0.00001
  1e-4,    // 0.0001
  0.001,   // 0.001
  0.01,    // 0.01
  0.1,     // 0.1
  1,       // 1
  10,      // 10
  100      // 100
];

console.log('新的价格格式化测试（使用下标数字）:');
testPrices.forEach(price => {
  console.log(`${price} -> ${formatPrice(price)}`);
});
